Diameter is an authentication, authorization, and accounting (AAA) application layer protocol for computer networks, and is a successor to RADIUS. The Diameter base protocol is defined in IETF RFC 6733, the disclosure of which is incorporated by reference herein in its entirety. Diameter communications may use a request-answer message exchange. Diameter routing involves routing of request messages in one direction and answer messages in the reverse direction.
Diameter currently only supports hop-by-hop capabilities negotiation. For example, adjacent nodes typically perform a transaction to determine capabilities, e.g., using capabilities exchange request (CER) messages and capabilities exchange answer (CEA) messages. Sometimes, nodes (e.g., Diameter clients) may require or request services or information from non-adjacent nodes (e.g., Diameter servers). As such, communications between non-adjacent nodes may involve intermediary nodes, such as Diameter relay agents. Diameter relay agents or nodes are Diameter agents that receive and route messages to other Diameter nodes based on information in the messages. However, Diameter relay agents, by definition, do not understand Diameter applications and, as such, generally return an indication of support for all applications. Hence, Diameter clients and Diameter servers typically do not know the Diameter capabilities, including supported Diameter applications, of non-adjacent Diameter nodes.
Accordingly, a need exists for methods, systems, and computer readable media for negotiating Diameter capabilities.